1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| /* * simple example using buffer operator - bundles all emitted values into a list */ private void doSomeWork() {
Observable<List<String>> buffered = getObservable().buffer(3, 1);
// 3 means, it takes max of three from its start index and create list // 1 means, it jumps one step every time // so the it gives the following list // 1 - one, two, three // 2 - two, three, four // 3 - three, four, five // 4 - four, five // 5 - five
buffered.subscribe(getObserver()); }
private Observable<String> getObservable() { return Observable.just("one", "two", "three", "four", "five"); }
private Observer<List<String>> getObserver() { return new Observer<List<String>>() {
@Override public void onSubscribe(Disposable d) { Log.d(TAG, " onSubscribe : " + d.isDisposed()); }
@Override public void onNext(List<String> stringList) { textView.append(" onNext size : " + stringList.size()); textView.append(AppConstant.LINE_SEPARATOR); Log.d(TAG, " onNext : size :" + stringList.size()); for (String value : stringList) { textView.append(" value : " + value); textView.append(AppConstant.LINE_SEPARATOR); Log.d(TAG, " : value :" + value); }
}
@Override public void onError(Throwable e) { textView.append(" onError : " + e.getMessage()); textView.append(AppConstant.LINE_SEPARATOR); Log.d(TAG, " onError : " + e.getMessage()); }
@Override public void onComplete() { textView.append(" onComplete"); textView.append(AppConstant.LINE_SEPARATOR); Log.d(TAG, " onComplete"); } }; }
|